package com.tyae.managedBean;

import java.io.Serializable;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

import com.tyae.util.Md5;
import com.tyae.bean.Usuario;
import com.tyae.dao.DAOFactory;

@ManagedBean
@SessionScoped
public class ControleLogin implements Serializable {


	private static final long serialVersionUID = -6267633129623436011L;
	private String login;
	private String senha;
	private Usuario usuario;
	
	public ControleLogin(){
		
	}

	public String acessar(){
		boolean autorizado = false;
		usuario = DAOFactory.getUsuarioDAO().getUsuario(getLogin());

		HttpSession session = null;	
		if (usuario != null  ){
			if ( Md5.encryptMD5(senha).equals( usuario.getSenha() ) && login.equals(usuario.getLogin()) ) {
				autorizado = true;
				session = ( HttpSession ) FacesContext.getCurrentInstance().getExternalContext().getSession( true );  
				session.setAttribute( "usr", usuario );  

			}
		}
		
		
		if (autorizado) {
			String url = "/principal.jsf"; 
			if (session.getAttribute("url") != null){
				url = (String) session.getAttribute("url");
				session.removeAttribute("url");
				url = "/principal.jsf"; 
			}
			
			return url;
		}else {
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,"Acesso n&atilde;o permitido", ""));
			return "/login.jsf";	
		}
		
		
		
	}

	public String getLogin() {
		return login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}




	
}
